#ifndef COLOR_OPERATOR
#define COLOR_OPERATOR

#include "constants.hpp"
#include "vec_operation.hpp"

enum ColorChannel { A, B, G, R };

/**
 * \brief Color operation
 */
namespace ColorOP {

void gammaCorrect( vec4f &color );

void gammaBack( vec4f &color );

ui32 encodeRGBAF( vec4f &color, bool gamma = false );

vec4f decodeRGBAF( ui32 color, bool gammaback = false );

ui8 getSingleChannel( ui32 color, ui8 i );
} // namespace

#endif